// RAP [rh] package org.eclipse.ui.keys disabled
///*******************************************************************************
// * Copyright (c) 2000, 2005 IBM Corporation and others.
// * All rights reserved. This program and the accompanying materials
// * are made available under the terms of the Eclipse Public License v1.0
// * which accompanies this distribution, and is available at
// * http://www.eclipse.org/legal/epl-v10.html
// *
// * Contributors:
// *     IBM Corporation - initial API and implementation
// *******************************************************************************/
//
//package org.eclipse.ui.keys;
//
//import java.util.SortedMap;
//import java.util.TreeMap;
//
//import org.eclipse.jface.bindings.keys.IKeyLookup;
//import org.eclipse.jface.bindings.keys.KeyLookupFactory;
//
///**
// * <p>
// * Instances of <code>SpecialKey</code> represent the keys on keyboard
// * recognized as neither modifier keys nor character keys. These are special
// * control keys specific to computers (e.g., "left arrow", "page down", "F10",
// * etc.). They do not include keys representing letters, numbers or punctuation
// * from a natural language, nor do they include any key that can be represented
// * by a Unicode character (e.g., "backspace").
// * </p>
// * <p>
// * <code>SpecialKey</code> objects are immutable. Clients are not permitted to
// * extend this class.
// * </p>
// * 
// * @deprecated Please use org.eclipse.jface.bindings.keys.KeyStroke and
// *             org.eclipse.jface.bindings.keys.KeyLookupFactory
// * @since 3.0
// */
//public final class SpecialKey extends NaturalKey {
//
//	/**
//	 * An internal map used to lookup instances of <code>SpecialKey</code>
//	 * given the formal string representation of a special key.
//	 */
//	static SortedMap specialKeysByName = new TreeMap();
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Arrow Down' key.
//	 */
//	public final static SpecialKey ARROW_DOWN;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Arrow Left' key.
//	 */
//	public final static SpecialKey ARROW_LEFT;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Arrow Right' key.
//	 */
//	public final static SpecialKey ARROW_RIGHT;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Arrow Up' key.
//	 */
//	public final static SpecialKey ARROW_UP;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Break' key.
//	 */
//	public final static SpecialKey BREAK;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Caps Lock' key.
//	 */
//	public final static SpecialKey CAPS_LOCK;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'End' key.
//	 */
//	public final static SpecialKey END;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'F1' key.
//	 */
//	public final static SpecialKey F1;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'F10' key.
//	 */
//	public final static SpecialKey F10;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'F11' key.
//	 */
//	public final static SpecialKey F11;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'F12' key.
//	 */
//	public final static SpecialKey F12;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'F13' key.
//	 */
//	public final static SpecialKey F13;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'F14' key.
//	 */
//	public final static SpecialKey F14;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'F15' key.
//	 */
//	public final static SpecialKey F15;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'F2' key.
//	 */
//	public final static SpecialKey F2;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'F3' key.
//	 */
//	public final static SpecialKey F3;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'F4' key.
//	 */
//	public final static SpecialKey F4;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'F5' key.
//	 */
//	public final static SpecialKey F5;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'F6' key.
//	 */
//	public final static SpecialKey F6;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'F7' key.
//	 */
//	public final static SpecialKey F7;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'F8' key.
//	 */
//	public final static SpecialKey F8;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'F9' key.
//	 */
//	public final static SpecialKey F9;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Home' key.
//	 */
//	public final static SpecialKey HOME;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Insert' key.
//	 */
//	public final static SpecialKey INSERT;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'NumLock' key.
//	 */
//	public final static SpecialKey NUM_LOCK;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the '0' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_0;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the '1' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_1;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the '2' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_2;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the '3' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_3;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the '4' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_4;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the '5' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_5;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the '6' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_6;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the '7' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_7;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the '8' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_8;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the '9' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_9;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Add' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_ADD;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Decimal' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_DECIMAL;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Divide' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_DIVIDE;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Enter' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_ENTER;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the '=' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_EQUAL;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Multiply' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_MULTIPLY;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Subtract' key on the numpad.
//	 */
//	public final static SpecialKey NUMPAD_SUBTRACT;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Page Down' key.
//	 */
//	public final static SpecialKey PAGE_DOWN;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Page Up' key.
//	 */
//	public final static SpecialKey PAGE_UP;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Pause' key.
//	 */
//	public final static SpecialKey PAUSE;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Print Screen' key.
//	 */
//	public final static SpecialKey PRINT_SCREEN;
//
//	/**
//	 * The single static instance of <code>SpecialKey</code> which represents
//	 * the 'Scroll Lock' key.
//	 */
//	public final static SpecialKey SCROLL_LOCK;
//
//	static {
//		final IKeyLookup lookup = KeyLookupFactory.getDefault();
//		ARROW_DOWN = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.ARROW_DOWN_NAME));
//		ARROW_LEFT = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.ARROW_LEFT_NAME));
//		ARROW_RIGHT = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.ARROW_RIGHT_NAME));
//		ARROW_UP = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.ARROW_UP_NAME));
//		BREAK = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.BREAK_NAME));
//		CAPS_LOCK = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.CAPS_LOCK_NAME));
//		END = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.END_NAME));
//		F1 = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.F1_NAME));
//		F2 = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.F2_NAME));
//		F3 = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.F3_NAME));
//		F4 = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.F4_NAME));
//		F5 = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.F5_NAME));
//		F6 = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.F6_NAME));
//		F7 = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.F7_NAME));
//		F8 = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.F8_NAME));
//		F9 = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.F9_NAME));
//		F10 = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.F10_NAME));
//		F11 = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.F11_NAME));
//		F12 = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.F12_NAME));
//		F13 = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.F13_NAME));
//		F14 = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.F14_NAME));
//		F15 = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.F15_NAME));
//		HOME = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.HOME_NAME));
//		INSERT = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.INSERT_NAME));
//		NUM_LOCK = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUM_LOCK_NAME));
//		NUMPAD_0 = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_0_NAME));
//		NUMPAD_1 = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_1_NAME));
//		NUMPAD_2 = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_2_NAME));
//		NUMPAD_3 = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_3_NAME));
//		NUMPAD_4 = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_4_NAME));
//		NUMPAD_5 = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_5_NAME));
//		NUMPAD_6 = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_6_NAME));
//		NUMPAD_7 = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_7_NAME));
//		NUMPAD_8 = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_8_NAME));
//		NUMPAD_9 = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_9_NAME));
//		NUMPAD_ADD = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_ADD_NAME));
//		NUMPAD_DECIMAL = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_DECIMAL_NAME));
//		NUMPAD_DIVIDE = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_DIVIDE_NAME));
//		NUMPAD_ENTER = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_ENTER_NAME));
//		NUMPAD_EQUAL = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_EQUAL_NAME));
//		NUMPAD_MULTIPLY = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_MULTIPLY_NAME));
//		NUMPAD_SUBTRACT = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.NUMPAD_SUBTRACT_NAME));
//		PAGE_DOWN = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.PAGE_DOWN_NAME));
//		PAGE_UP = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.PAGE_UP_NAME));
//		PAUSE = new SpecialKey(lookup.formalKeyLookup(IKeyLookup.PAUSE_NAME));
//		PRINT_SCREEN = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.PRINT_SCREEN_NAME));
//		SCROLL_LOCK = new SpecialKey(lookup
//				.formalKeyLookup(IKeyLookup.SCROLL_LOCK_NAME));
//
//		specialKeysByName.put(SpecialKey.ARROW_DOWN.toString(),
//				SpecialKey.ARROW_DOWN);
//		specialKeysByName.put(SpecialKey.ARROW_LEFT.toString(),
//				SpecialKey.ARROW_LEFT);
//		specialKeysByName.put(SpecialKey.ARROW_RIGHT.toString(),
//				SpecialKey.ARROW_RIGHT);
//		specialKeysByName.put(SpecialKey.ARROW_UP.toString(),
//				SpecialKey.ARROW_UP);
//		specialKeysByName.put(SpecialKey.BREAK.toString(), SpecialKey.BREAK);
//		specialKeysByName.put(SpecialKey.CAPS_LOCK.toString(),
//				SpecialKey.CAPS_LOCK);
//		specialKeysByName.put(SpecialKey.END.toString(), SpecialKey.END);
//		specialKeysByName.put(SpecialKey.F1.toString(), SpecialKey.F1);
//		specialKeysByName.put(SpecialKey.F10.toString(), SpecialKey.F10);
//		specialKeysByName.put(SpecialKey.F11.toString(), SpecialKey.F11);
//		specialKeysByName.put(SpecialKey.F12.toString(), SpecialKey.F12);
//		specialKeysByName.put(SpecialKey.F13.toString(), SpecialKey.F13);
//		specialKeysByName.put(SpecialKey.F14.toString(), SpecialKey.F14);
//		specialKeysByName.put(SpecialKey.F15.toString(), SpecialKey.F15);
//		specialKeysByName.put(SpecialKey.F2.toString(), SpecialKey.F2);
//		specialKeysByName.put(SpecialKey.F3.toString(), SpecialKey.F3);
//		specialKeysByName.put(SpecialKey.F4.toString(), SpecialKey.F4);
//		specialKeysByName.put(SpecialKey.F5.toString(), SpecialKey.F5);
//		specialKeysByName.put(SpecialKey.F6.toString(), SpecialKey.F6);
//		specialKeysByName.put(SpecialKey.F7.toString(), SpecialKey.F7);
//		specialKeysByName.put(SpecialKey.F8.toString(), SpecialKey.F8);
//		specialKeysByName.put(SpecialKey.F9.toString(), SpecialKey.F9);
//		specialKeysByName.put(SpecialKey.NUM_LOCK.toString(),
//				SpecialKey.NUM_LOCK);
//		specialKeysByName.put(SpecialKey.NUMPAD_0.toString(),
//				SpecialKey.NUMPAD_0);
//		specialKeysByName.put(SpecialKey.NUMPAD_1.toString(),
//				SpecialKey.NUMPAD_1);
//		specialKeysByName.put(SpecialKey.NUMPAD_2.toString(),
//				SpecialKey.NUMPAD_2);
//		specialKeysByName.put(SpecialKey.NUMPAD_3.toString(),
//				SpecialKey.NUMPAD_3);
//		specialKeysByName.put(SpecialKey.NUMPAD_4.toString(),
//				SpecialKey.NUMPAD_4);
//		specialKeysByName.put(SpecialKey.NUMPAD_5.toString(),
//				SpecialKey.NUMPAD_5);
//		specialKeysByName.put(SpecialKey.NUMPAD_6.toString(),
//				SpecialKey.NUMPAD_6);
//		specialKeysByName.put(SpecialKey.NUMPAD_7.toString(),
//				SpecialKey.NUMPAD_7);
//		specialKeysByName.put(SpecialKey.NUMPAD_8.toString(),
//				SpecialKey.NUMPAD_8);
//		specialKeysByName.put(SpecialKey.NUMPAD_9.toString(),
//				SpecialKey.NUMPAD_9);
//		specialKeysByName.put(SpecialKey.NUMPAD_ADD.toString(),
//				SpecialKey.NUMPAD_ADD);
//		specialKeysByName.put(SpecialKey.NUMPAD_DECIMAL.toString(),
//				SpecialKey.NUMPAD_DECIMAL);
//		specialKeysByName.put(SpecialKey.NUMPAD_DIVIDE.toString(),
//				SpecialKey.NUMPAD_DIVIDE);
//		specialKeysByName.put(SpecialKey.NUMPAD_ENTER.toString(),
//				SpecialKey.NUMPAD_ENTER);
//		specialKeysByName.put(SpecialKey.NUMPAD_EQUAL.toString(),
//				SpecialKey.NUMPAD_EQUAL);
//		specialKeysByName.put(SpecialKey.NUMPAD_MULTIPLY.toString(),
//				SpecialKey.NUMPAD_MULTIPLY);
//		specialKeysByName.put(SpecialKey.NUMPAD_SUBTRACT.toString(),
//				SpecialKey.NUMPAD_SUBTRACT);
//		specialKeysByName.put(SpecialKey.HOME.toString(), SpecialKey.HOME);
//		specialKeysByName.put(SpecialKey.INSERT.toString(), SpecialKey.INSERT);
//		specialKeysByName.put(SpecialKey.PAGE_DOWN.toString(),
//				SpecialKey.PAGE_DOWN);
//		specialKeysByName
//				.put(SpecialKey.PAGE_UP.toString(), SpecialKey.PAGE_UP);
//		specialKeysByName.put(SpecialKey.PAUSE.toString(), SpecialKey.PAUSE);
//		specialKeysByName.put(SpecialKey.PRINT_SCREEN.toString(),
//				SpecialKey.PRINT_SCREEN);
//		specialKeysByName.put(SpecialKey.SCROLL_LOCK.toString(),
//				SpecialKey.SCROLL_LOCK);
//	}
//
//	/**
//	 * Constructs an instance of <code>SpecialKey</code> given a name.
//	 * 
//	 * @param key
//	 *            The key to be wrapped.
//	 */
//	private SpecialKey(final int key) {
//		super(key);
//	}
//}
